﻿namespace Renci.Data.Interop.OpenGIS.Tml
{
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "http://www.opengis.net/tml")]
    [System.Xml.Serialization.XmlRootAttribute("logicalDataStructure", Namespace = "http://www.opengis.net/tml", IsNullable = false)]
    public class LogicalDataStructure
    {
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("uid")]
        public BindType Uid { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("name")]
        public BindType Name { get; set; }

        /// <summary>
        /// Allowed values: 0, 1, 2, 3.  
        /// Default is 0.  dimensionality of the logical data structure (lds).  
        /// number of structure components used for giving hints for data representation.  
        /// 0 dim is a single value, 
        /// 1 dim is a series of columns, rows or planes, 
        /// 2 dim is any order of  two structure components (col-row, col-plane, or row-plane), 
        /// and a 3 dim is any order of three structure components col-row-plane
        /// </summary>
        [System.Xml.Serialization.XmlElementAttribute("ldsDimensionality")]
        public BindType LdsDimensionality { get; set; }

        /// <summary>
        /// Number of dataSets or dataArrays in the Characteristic Frame.  
        /// Allowed Value: positive integer.  
        /// Default:1
        /// </summary>
        [System.Xml.Serialization.XmlElementAttribute("numOfDataSetsInCf")]
        public BindType NumOfDataSetsInCf { get; set; }

        /// <summary>
        /// Logical data structure of the characteristic frame.  
        /// Lowest frequency array first.
        /// </summary>
        [System.Xml.Serialization.XmlElementAttribute("cfDataArray")]
        public DataArrayType DataArray { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("name")]
        public string AttributeName { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("uid", DataType = "anyURI")]
        public string AttributeUid { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("uidRef", DataType = "anyURI")]
        public string AttributeUidRef { get; set; }
    }
}
